/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Mensajes;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 *
 * @author Lino
 */
public class NuevoRegistroDePaciente extends Mensaje{
 
  
  public NuevoRegistroDePaciente(){
      
  }

 
 /*
      
    Lista de (NRO de Documento^^^OID de Documento) separados por ~: Será el conjunto de identificadores del paciente, separados por ~. La existencia del pacientes se validará contra el primer identificador y el resto serán identificadores secundarios.
    Primer apellido, Segundo apellido, primer nombre y segundo nombre. En caso de no existir alguno de estos, se deja el espacio en blanco (ej. PRECIOZZI&&Javier&Luis)
    Fecha de nacimiento: En formato AAAAMMDD, como se explica en Formatos Fecha y FechaHora
    Sexo: Valores posibles: M, F
    Raza OID: OID de raza
    Dirección: Calle, número y apto (si apto no va, se deja el espacio en blanco: DIONISIO ORIBE&3071&^…). Estos datos son libres (sin estructurar) junto con la ciudad. Los datos de Departamento y país se estructuran siguiendo el estándar http://es.wikipedia.org/wiki/ISO_3166-2:UY
    Teléfonos: El primero es el teléfono fijo, el segundo es el celular y el tercero es el correo electrónico. Nuevamente si alguno de estos valores no existiera, iría el campo en blanco.
    Lengua Nativa OID: OID de la lengua nativa
    Estado Civil OID: OID del estado civil

     */

    public NuevoRegistroDePaciente(String id, String id1, String id2, String id3, String primerApellido, String segundoApellido, String primerNombre, String segundoNombre, String fechaDeNacimiento, String sexo, String raza, String calle,String numero_Direccion,String Apto,String ciudad,String departamento,String codigo_Postal,String pais, String telefonoFijo, String celular, String mail, String lenguaNativa, String estadoCivil) {
        this.setId(id);
        this.setId1(id1);
        this.setId2(id2);
        this.setId3(id3);
        this.setPrimerApellido(primerApellido);
        this.setSegundoApellido(segundoApellido);
        this.setPrimerNombre(primerNombre);
        this.setSegundoNombre(segundoNombre);
        this.setFechaDeNacimiento(fechaDeNacimiento);
        this.setSexo(sexo);
        this.setRaza(raza);
       
        this.setTelefonoFijo(telefonoFijo);
        this.setCelular(celular);
        this.setMail(mail);
        this.setLenguaNativa(lenguaNativa);
        this.setEstadoCivil(estadoCivil);
        this.cargarDatosDummy();
        this.setTipoDelMensaje("ADT^A28");
        this.setCalle(calle);
        this.setNumero_Direccion(numero_Direccion);
        this.setApto(Apto);
        this.setCiudad(ciudad);
        this.setDepartamento(departamento);
        this.setCodigoPostal(codigo_Postal);
        this.setPais(pais);
        this.setoId(this.getoId());
        System.out.println(this.getoId());
    }
   /* public String Mensaje(){
        
        //String salida="MSH|^~\\&|PADRON_PACIENTES_CAMEC;JLOPEZ|ADM_CAMEC|GEOSALUD_CAMEC|HC_CAMEC|20110912140000||ADT^A28|123456|P|2.5|||\n";
        String salida=this.cabezal()+"\n";
        salida+="EVN|A28|"+this.getFechaYHoraDelMensaje()+"\n";
        salida+="PID|||18936831^^^2.16.840.1.113883.2.14.1.2.1.2~1256^^^2.16.840.1.113883.2.14.1.2.1.3||LOPEZ&PEREZ^JOSE&JUAN||19731006|M||C|MILLINGTON DRAKE&1234^^Carmelo^UY-CO^ZIPCODE|UY||26198499^099123456^jpreciozzi@geocom.com.uy||ES|S|\n";
        salida+="IN1||2.3.4.5.6|GREMEDA|";
    
        return salida;
    
    }
*/
  
      public String Mensaje(){
       String NL =System.getProperty("line.separator");
          String mensajeHL7=this.cabezal()
              +"EVN|A28|"+this.getFechaYHoraDelMensaje()+NL+
              "PID|||"+this.getId()+"^^^"+this.getoId()+"||"+this.getPrimerApellido()+"&"+this.getSegundoApellido()+"^"+this.getPrimerNombre()+"&"+this.getSegundoNombre()+"||"+this.getFechaDeNacimiento()+"|"+this.getSexo()+"||"+this.getRaza()+"|"+this.getCalle()+"&"+this.getNumero_Direccion()+"&"+this.getApto()+
                  "^^"+this.getCiudad()+"^"+this.getDepartamento()+"^"+this.getCodigoPostal()+"|"+this.getPais()+"||"+this.getTelefonoFijo()+"^"+this.getCelular()+"^"+this.getMail()+"||"+this.getLenguaNativa()+"|"+this.getEstadoCivil()+"|";
  return mensajeHL7;
  
  }
     
  
  
    
}
